async function async1() {
    console.log('async1 start')
    await async2()
    //微任务队列
    console.log('async1 end')
}
async function async2() {
    console.log('async2')
}
//同步任务
console.log('script start')
//异步任务（宏任务）
setTimeout(function () {
    console.log('settimeout')
})

async1()

new Promise(function (resolve) {
    console.log('promise1')
    resolve()
}).then(function () { //微任务队列
    console.log('promise2')
})
console.log('script end')

//script start ---- async1 start ---async2  --- promise1 --- script end

// async1 end ---- promise2 -- settimeout